#!/bin/bash

# 项目文件夹路径
PROJECT_DIR="./frontend_project"

# 镜像名称和版本
IMAGE_NAME="over_temperature_monitor_front"
IMAGE_VERSION="v1.0"

# 容器名
CONTAINER_NAME="over_temperature_monitor_front"

# 端口
HOST_PORT=80
CONTAINER_PORT=80

# 检查项目目录是否存在
if [ ! -d "$PROJECT_DIR" ]; then
    echo "错误：项目目录 $PROJECT_DIR 不存在！"
    exit 1
fi

# 解压 dist.zip
echo "Step 1: 解压 dist.zip 文件..."
cd "$PROJECT_DIR"
if [ -f "dist.zip" ]; then
    unzip -o dist.zip -d ./dist
    if [ $? -ne 0 ]; then
        echo "解压失败，请检查 dist.zip 文件是否正确。"
        exit 1
    fi
    echo "dist.zip 解压完成。"
else
    echo "错误：dist.zip 文件不存在！"
    exit 1
fi

# 构建 Docker 镜像
echo "Step 2: 构建 Docker 镜像..."
docker build -t "${IMAGE_NAME}:${IMAGE_VERSION}" .
if [ $? -ne 0 ]; then
    echo "镜像构建失败！请检查 Dockerfile 和相关文件是否正确。"
    exit 1
fi
echo "镜像构建成功：${IMAGE_NAME}:${IMAGE_VERSION}"

# 检查并删除旧容器
echo "Step 3: 检查并删除旧容器..."
if docker ps -a | grep -q "$CONTAINER_NAME"; then
    echo "发现同名容器，正在删除..."
    docker rm -f "$CONTAINER_NAME"
fi

# 运行 Docker 容器
echo "Step 4: 运行 Docker 容器..."
docker run -d --name "$CONTAINER_NAME" -p "${HOST_PORT}:${CONTAINER_PORT}" "${IMAGE_NAME}:${IMAGE_VERSION}"
if [ $? -eq 0 ]; then
    echo "容器运行成功！访问地址：http://localhost:${HOST_PORT}"
else
    echo "容器运行失败！请检查配置和日志。"
    exit 1
fi

